package com.youlai.system.model.form;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;
import java.util.Date;

@Schema(description = "社保表单对象")
@Data
public class SocialSecurityForm {
    @Schema(description = "社保ID")
    private Integer id;
    @Schema(description = "用户ID")
    private Integer userId;
    @Schema(description = "参保城市ID")
    private String participatingInTheCityId;
    @Schema(description = "参保类型 (1为首次开户, 2为非首次开户)")
    private Integer socialSecurityType;
    @Schema(description = "户籍类型 (1为本市城镇, 2为本市农村, 3为外埠城镇, 4为外埠农村)")
    private Integer householdRegistrationType;
    @Schema(description = "社保基数")
    private Float socialSecurityBase;
    @Schema(description = "工伤比例")
    private Float industrialInjuryRatio;
    @Schema(description = "社保备注")
    private String socialSecurityNotes;
    @Schema(description = "公积金城市ID")
    private String providentFundCityId;
    @Schema(description = "公积金基数")
    private Float providentFundBase;
    @Schema(description = "公积金企业比例")
    private Float enterpriseProportion;
    @Schema(description = "公积金个人比例")
    private Float personalProportion;
    @Schema(description = "公积金企业缴纳数额")
    private Float enterpriseProvidentFundPayment;
    @Schema(description = "公积金个人缴纳数额")
    private Float personalProvidentFundPayment;
    @Schema(description = "公积金备注")
    private String providentFundNotes;
    @Schema(description = "最后修改时间")
    @JsonInclude(value = JsonInclude.Include.NON_NULL)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate lastModifyTime;
    @Schema(description = "户籍")
    private String householdRegistration;
    @Schema(description = "社保个人缴纳数额")
    private String personalPayment;
    @Schema(description = "社保公司缴纳数额")
    private String companyPayment;
}
